MUM 2024-25 Uczenie Maximum Likelihood Estimation MLE¶
Parametry modelu¶
- model ma parametry $\theta$
- w modelu sieci neuronowych to wagi
- nie mylić z hiperparametrami - parametry są uczone, hiperparametry należy wybrać ręcznie
- hiperparametry mogą być optymalizowane, jednak nie przez minimalizację funkcji kosztu
- nauczony model ma ustalone wartości $\widehat\theta$
- dla różnych ustalonych wartości $\widehat\theta$ nauczony model opisuje różne rozkłady prawdopodobieństwa
- uczenie metodą Maximum Likelihood oznacza znalezienie takiego $\widehat\theta$, które maksymalizuje likelihood zbioru treningowego dla uczonego modelu
- zbiór treningowy to $D_{Tr}$
- nazwa Maximum Likelihood Estimator (MLE) opisuje cały proces uczenia
Model probabilistyczny (albo generatywny)¶
- model probabilistyczny jest statystycznym modelem obliczającym rozkład łącznego prawdopodobieństwa $p(x,y)$ dla zmiennej obserwowanej x i zmiennej docelowej (target) y
- wartości generowane przez model zależą od parametrów, więc zamiast $p(\mathbf{x})$ piszemy teraz
$$p(\mathbf{x}\mid\theta)$$
- zbiór treningowy to $$D_{Tr} = \{\mathbf{x}_1, \ldots, \mathbf{x}_N\}$$
- likelihood zbioru treningowego dla ustalonych parametrów $\widehat\theta$ to $$p(\mathbf{x}=\mathbf{x}_1 \mid\theta=\widehat\theta)\cdot\ldots\cdot p(\mathbf{x}=\mathbf{x}_N\mid\theta=\widehat\theta) = \prod_{n=1}^N p(\mathbf{x}=\mathbf{x}_n \mid\theta=\widehat\theta)$$
- uwaga - jeśli model generatywny nie daje nam wprost wzoru na likelihood przykładu $p(\mathbf{x}=\mathbf{x}_n \mid\theta=\widehat\theta)$, to musimy umieć zdefiniować jakieś sprytne przybliżenie
- często oznaczone jako $\mathcal{L}(\theta\mid x)=p_\theta(x)$
- likelihood $\mathcal{L}$ modelu $p_\theta(x)$ z parametryzacją przy danych $x$
- wartości generowane przez model zależą od parametrów, więc zamiast $p(\mathbf{x})$ piszemy teraz
$$p(\mathbf{x}\mid\theta)$$
Model dyskryminatywny¶
- model dyskryminatywny podaje rozkład prawdopodobieństwa warunkowego $p(y\mid x)$ dla zmiennej celu y pod warunkiem zmiennej x
- zamiast $p(y\mid\mathbf{x})$ piszemy teraz $$p(y\mid\mathbf{x},\theta)$$
- zbiór treningowy to $$D_{Tr} = \{(\mathbf{x}_1, y_1), \ldots, (\mathbf{x}_N, y_N)\}$$
- likelihood zbioru treningowego dla ustalonych parametrów $\widehat\theta$ to $$p(y=y_1\mid\mathbf{x}=\mathbf{x}_1,\theta=\widehat\theta)\cdot\ldots\cdot p(y=y_N\mid\mathbf{x}=\mathbf{x}_N,\theta=\widehat\theta) = \prod_{n=1}^N p(y=y_n\mid\mathbf{x}=\mathbf{x}_n,\theta=\widehat\theta)$$
Mean Log Likelihood¶
- powyżej pojawiają się iloczyny $N$ prawdopodobieństw
- jeśli $N$ jest duże (zwykle jest bardzo duże), obliczenia mogą być niestabilne numerycznie
- logarytm pozwala zamienić iloczyn na sumę
- model generatywny $$\ln\left(\prod_{n=1}^N p(\mathbf{x}=\mathbf{x}_n \mid\theta=\widehat\theta)\right) = \sum_{n=1}^N\ln[p(\mathbf{x}=\mathbf{x}_n \mid\theta=\widehat\theta)]$$
- model dyskryminatywny $$\ln\left(\prod_{n=1}^N p(y=y_n\mid\mathbf{x}=\mathbf{x}_n,\theta=\widehat\theta)\right) = \sum_{n=1}^N \ln[p(y=y_n\mid\mathbf{x}=\mathbf{x}_n,\theta=\widehat\theta)]$$
- logarytm jest funkcją silnie rosnącą - maksymalizowanie likelihood jest równoważne maksymalizowaniu log likelihood
- zazwyczaj chcemy też zamienić sumę na średnią
- model generatywny $$\dfrac{1}{N}\sum_{n=1}^N\ln[p(\mathbf{x}=\mathbf{x}_n \mid\theta=\widehat\theta)]$$
- model dyskryminatywny $$\dfrac{1}{N}\sum_{n=1}^N\ln[p(y=y_n\mid\mathbf{x}=\mathbf{x}_n,\theta=\widehat\theta)]$$
- średnia sprawia, że maksymalizowana funkcja ma podobny rząd wielkości dla różnych rozmiarów zbioru treningowego
Funkcja kosztu¶
- chcemy minimalizować funkcję kosztu
- chcemy maksymalizować mean log likelihood
- najprostsze rozwiązanie - funkcja kosztu to negative mean log likelihood (dodajemy znak minus)
- Niech $$\begin{align} p(x)&\sim\mathcal{N}(\mu, \sigma^2)\\ p(x;\mu, \sigma^2)&\sim\dfrac{1}{\sqrt{2\pi\sigma^2}}\left[-\dfrac{1}{2}\left(\dfrac{x-\mu}{\sigma}\right)^2\right] \end{align}$$ gdzie każde $p(x;\mu,\sigma^2)$ jest likelihood $x$ dla parametrów $[\mu, \sigma^2]$
- chcemy znaleźć $\theta$ takie, że z największą szansą będą generować te dane
- w ten sposób naszym problemem staje się maksymalizacja (maximum likelihood estimation, MLE) $$\hat\theta=\arg\max_\theta\mathcal{L}(\theta\mid x)=\arg\max_\theta p_\theta(x)$$
- wychodząc z założenia IID możemy zapisać cel jako $$ \begin{align}\hat\theta&=\arg\max_\theta\prod_{i=1}^Np_\theta(x_i)=\arg\max_\theta\sum_{i=1}^N\log{}p_\theta(x_i)\\ &=\arg\max_\theta\dfrac{1}{N}\sum_{i=1}^N\log{}p_\theta(x_i) \end{align}$$
- z czego dostajemy negative log-likelihood $$\hat\theta=\arg\min_\theta-\mathbb{E}_{x\sim{}p_{\theta^\ast}(x)}[\log{}p_\theta(x)]$$
model dyskryminatywny¶
Dla rozkładu normalnego $$\log{}p_\theta(y\mid x)=-N\log\sigma-\dfrac{N}{2}\log2\pi-\dfrac{1}{2\sigma^2}\sum_{i=1}^N{\|x_i^T\theta-y_i\|}$$
- tu występuje założenie o szumie o rozkładzie normalnym
- okazuje się, że średniokwadratowa funkcja kosztu jest bezpośrednią konsekwencją tego założenia
Uwagi¶
- MLE daje jedynie estymacje punktowe funkcji kosztu i nie pozwala wnioskować na temat rozkładów kosztu
- więcej uwag w skrypcie o uczeniu MAP: twierdzenie Bayesa i uczenie Maximum a Posteriori MAP